package com.huaxin.device.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.request.AddDeviceModelReqDTO;
import com.huaxin.device.dto.request.UpdateDeviceModelReqDTO;
import com.huaxin.device.models.DeviceModel;
import com.huaxin.hxjwt.entity.ResponseResult;

public interface DeviceModelService extends IService<DeviceModel> {
    /**
     * 添加设备型号
     *
     * @param in
     * @return
     */
    ResponseResult<String> addDeviceModel(AddDeviceModelReqDTO in);

    /**
     * 删除设备型号
     *
     * @param id
     * @return
     */
    ResponseResult<String> deleteDeviceModel(String id);

    /**
     * 修改设备型号
     *
     * @param in
     * @return
     */
    ResponseResult<String> updateDeviceModel(UpdateDeviceModelReqDTO in);

    /**
     * 获取设备型号列表
     *
     * @param pageNum    页码
     * @param pageSize   每页数量
     * @param modelCode  设备型号编码
     * @param deviceType 设备类型
     * @return
     */
    ResponseResult<Page<DeviceModel>> getDeviceModelList(Integer pageNum, Integer pageSize, String modelCode, String deviceType);

    /**
     * 获取设备型号详情
     *
     * @param id 设备型号ID
     * @return
     */
    DeviceModel getDeviceModelDetail(String id);
}
